Chris Riddoch riddochc@gmail.com https://syntacticsugar.org/ https://github.com/riddochc Skills • Excellent communication and presentation skills, able to convey complex ideas simply • Expertise with a wide variety of programming languages: Ruby, Javascript, Rust, Clojure/Java, C, Python, Haskell, R, Perl, Forth, TeX, OCaml, Assembly • 20+ years experience using and administering Linux server and desktop environments: OpenSUSE, Ubuntu/Debian, Fedora/RHEL/CentOS • Extensive knowledge of software development, database design, and system administration subjects • Deep understanding of textual data collection and analysis, open-source databases (PostgreSQL, MySQL, SQLite) • Skilled in use of version control, issue/ticket management tools (Github, Bugzilla) • Able to design experiments and analyze data; practical knowledge of applied statistics and probability • Experience tutoring individually and teaching larger groups on a variety of subjects at an appropriate level for the audience • Insatiable curiosity for a wide variety of subjects, highly practiced at learning through self-study Selected Professional Experience RSAE Labs, June. 2016 – Feb. 2017 • Evaluated a pre-existing CentOS server to identify and document non-default configuration settings, packages installed, and potential security vulnerabilities • Migrated large Java application to current versions of CentOS running on Amazon Web Services • Optimized client’s use of AWS systems (EC2 and S3) for cost savings and service utilization • Located and identified dependencies and potential compatibility issues in enterprise Java application • Tuned MySQL and isolated proprietary data during transition from co-located facility to AWS • Wrote 9k+ words of documentation about the AWS migration process, existing configuration and changes Morningnotes.com, Jan – July 2016 • Devised solution to migrate data from legacy PostgreSQL 8.1 install to 9.5 using custom replication logic • Merged older system configuration options into a new Debian server, automating the process with Ansible • Updated web application code from Ruby 1.8 and pre-1.0 Rails to run on Ruby 2 and Rails 4 API • Scripted custom database reports, generating native Microsoft Excel format to remedy CSV formatting issues • Maintained legacy web server and existing custom environment while designing and building replacement Welltok, May – Aug. 2015 • Built a virtual machine environment to use for development/testing of microservice instances with Docker and Qemu/KVM • Traced data flow through complex microservice architecture implemented in multiple languages • Read a substantial amount of code in order to make modifications to a product’s core features • Defined JSON-Schema model for REST APIs and designed tools for API testing with Sinatra, Faraday, and Alpaca Forms National Renewable Energy Labs, Feb. - June 2014 • Created an information extraction application to convert tabular data from PDFs using OCR into a database • Customized and deployed a virtual machine application to users; provided basic Linux command-line training • Built and maintained private Git and Rubygems server for application version management • Learned the specification for the OpenDocument Format quickly and wrote code to manipulate ODF files • Wrote complete documentation for software, including a specialized introduction to Linux University Center of Atmospheric Research (UCAR) Globe Project, Aug. – Nov. 2013 • Set up dual-OS environment for development with MacOS and Linux using VirtualBox • Taught workflows of version control with git to coworkers, provided assistance with resolving conflicts in large merges. • Developed custom changes to acts_as_versioned gem to satisfy internal requirements for data versioning Symplified, May - July 2013 • Wrote scripts and custom SSH configurations to span multiple firewalls and networks for test infrastructure • Researched system automation tools (Puppet, Chef, Vagrant) for constructing repeatable test environments • Served as primary resource for information on Linux distribution customization for server deployment. • Migrated 5+ years of previous development history from Subversion to Git, assisted in setting up an internal Github server Reframeit, July – Sept. 2009 • Created spam filter for web-submitted comments in Clojure using CRM114 for classification • Implemented discovery of related content and full-text search with Solr/Lucene • Evaluated language-independent strategies for using distributed databases in a web application backend Cognitive Avionics, Feb. - July 2008 • Analyzed an existing custom hardware platform for software portability issues • Built a speech recognition demo with custom vocabulary using CMU Sphinx • Taught coworkers about revision control using Git and development methodologies • Researched embedded Linux platforms for DO-178B (FAA) regulatory compliance • Developed project feasibility study and conducted project estimation Digeo, July - Oct. 2008 • Centralized logging of status messages and remote access to test machines with conserver • Created ruby scripts to automate tests, system updates, configuration, and other common procedures • Implemented Rails-based command-and-control system for running and recording results of tests • Documented test procedures, use cases, and results, helping other developers discover and resolve bugs Education • University of Colorado, Boulder – Graduated December 2004 with concurrent Bachelor and Master degrees in Linguistics, minors in Computer Science and German, • Certificates in Cognitive Science and Human Language Technology (Computational Linguistics) • Significant courses at CU Boulder: natural language processing, digital logic, advanced semantics, programming languages, operating systems, cognitive science, human-computer interfaces, statistics • Additional courses in 2010, Metro State College of Denver: speech pathology, psychology, physics Open Source Contributions • Instrumented the ruby interpreter with the LTTng tracing framework enabling greater understanding of the runtime behavior of large applications • Participation in a variety of local meetups and workshops on software development • Tutored high-school students on introductory programming subjects 2016, Railsbridge workshops 2012-2015, mentored students of classes offered by local coding schools. • Taught and helped many individuals and organizations to use and/or develop for Linux-based environments Volunteer Experience Boulder Community Hospital, 2-4 hrs/week since March 2016, conducting hearing screening tests for newborns • Conducted AABR and OAE screenings with Natus Echo-Screen, Echo-Screen III, and Algo 5 equipment • Direct patient interaction, communicating with parents about the screening test and results. • Training of new volunteers, collaborated with nurses and audiologists for patient care. • Charting records of patient information and test results Boulder Flood Relief, Oct. 2013 • Requirements gathering and evaluation of emergency management software tools for relief organizers Boulder Linux Users Group, from ~2001-2007, participant since 1997 • Arranging for and preparing monthly speakers, locations for meetings and installfests, etc. United Ministries in Higher Education, 1999-2003 • Repaired homes (construction of outdoor stairs) in rural Appalachia: spring break 2003 • Helped rebuild (drywall installation) a burned church in Gadsden, SC: spring break 1999 Awards • National Louis Armstrong Jazz Award, 1996-97 school year, participant at state-level Honor jazz band • Top student in Fruita Monument High School Band program, 1996-97 school year